[실기] (PART 3) 데이터 입출력 구현
NOTE
정보처리기사 실기 PART 3 — 데이터 모델, 데이터베이스 설계, 정규화, 트랜잭션 등 데이터 입출력 구현 핵심 정리.
📌 개념
-
데이터 모델 표시요소
- 연산 : 실제 데이터 처리 작업에 대한 명세
- 구조 : 데이터베이스에 표현될 대상
- 제약조건 : 실제 데이터의 논리적인 제약 조건
-
데이터 모델 절차
- 개념적 설계 : 현실세계에 대한 인식을 추상적 개념적으로 표현 , ERD (개체 관계 다이어그램)
- 논리적 설계 : 정규화를 수행, 스키마의 평가 및 정제
- 물리적 설계 : 데이터베이스 저장구조로 변환, 반정규화 수행
-
논리적 데이터 모델링 종류
- 관계 데이터 모델
- 계층 데이터 모델
- 네트워크 데이터 모델
-
관계 대수
- 일반 집합 연산자
- 합집합
- 교집합 : R과 S에 속하는 모든 튜플
- 차집합 : R에 존재하고 S에 미 존재하는 튜플
- 카티션 프로젝트 : 모든 튜플 연결
- 순수 관계 연산자
- 셀렉트 : 릴레이션 R에서 조건을 만족하는 튜플 반환
- 프로젝트(파이) : 주어진 속성들의 값으로만 구성
- 조인 : 공통속성을 이용해 두 튜플들을 연결함
- 디비전 : 릴레이션 S의 모든 튜플과 관련있는 R의 튜플 반환
- 일반 집합 연산자
-
관계해석
- 비절차적 언어 (튜플관계해석과 도메인 관계 해석)
-
논리데이터모델 속성
- 개체
- 속성
- 관계
-
데이터베이스 이상현상
- 삽입이상, 삭제이상, 갱신이상
-
정규화 단계
- 원부이결다조
-
함수 종속
- 함수 종속 종류
- 부분 함수 종속 : 기본키가 복합키일 경우 기본키를 구성하는 속성
- 완전 함수 종속 : x→ y 관계가 있을 떄 y는 x의 전체속성에 대해 종속
- 이행 함수 종속 : x→y, y→z , x→z
- 함수 종속 종류
-
반정규화
- 중복,통합,분리을 통한 성능향상과 개발 운영 단순화
-
반정규화 기법
- 테이블 병합
- 테이블 분할
- 중복 테이블 추가
- 컬럼 중복화
- 중복관계 추가
- 물리적 데이터 모델링
- 논리모델을 적용하고자 하는 기술에 맞도록 상세화함
- 데이터베이스 무결성 종류
- 개체무결성 : 기본키는 유일하며, NULL값 불가능
- 참조 무결성 : 외래키 → 기본 키 값이나 NULL이어야함
- 속성 무결성 : 기본값, NULL여부, 도메인이 지정된 규칙을 준수
- 사용자 정의 무결성 : 사용자의 의미적 요구사항 준수
- 키 무결성 : 한 릴레이션에 같은 키값 불가능
- 키
- 기본키
- 대체키 : 후보키 중 기본키 선택되지 않은 키
- 후보키 : 튜플을 구분하는 기준이 되는 칼럼
- 슈퍼키 : 유일성 만족, 최소성 만족x
- 외래키 : 참조 데이터 무결성
- 인덱스
- 검색연산의 최적화 (빠르게 조회)
- 파티션 유형(파티션 기법)
- 범위 분할 (range partition) : 연속적인 숫자나, 날짜로 분할
- 해시 분할 (hash partition) : 해시 함수 값에 의한 파티셔닝 기법
- 리스트 분할 (list partition0 : 명시적 제어가 가능 ex) 한국,일본,중국 → 아시아
- 컴포지트 분할 (composite partition) : 파티션중 2개 이상 결합
- 라운드로빈 : 회전하면서 새로운 행을 파티션에 할당
- 데이터베이스 개념
- 데이터베이스는 다수의 인원, 시스템 또는 프로그램이 사용할 목적으로 통합하여 관리되는 데이터 집합
- 데이터베이스 정의
- 통합된 데이터 : 자료의 중복을 제외
- 저장된 데이터 : 저장된 데이터
- 운영 데이터 : 조직의 업무를 수행하는데 필요한 데이터
- 공용 데이터 : 여러 어플리케이션이 공동으로 사용하는 데이터
- 데이터베이스 특징
- 실시간 접근성
- 계속적인 변화 : 새로운 데이터 삽입, 삭제, 갱신으로 항상 최신상태 유지
- 동시 공용 : 다수의 사용자 사용
- 내용 참조 : 사용자가 요구하는 데이터 내용으로 데이터를 찾음
- 파일시스템
- 파일에 이름을 부여하고 그것들을 어디에 위치하여하는지 등을 정리한 뒤 데이터를 관리하는 방식
- 파일시스템 종류
- ISAM : 인덱스, 색인부에 기록되어 저장되어있음
- VSAM : 가상, 대형 운영체제에서 사용
- 파일시스템 종류
- 파일에 이름을 부여하고 그것들을 어디에 위치하여하는지 등을 정리한 뒤 데이터를 관리하는 방식
- 데이터베이스 종류
- 관계형 데이터 베이스
- 계층형 데이터베이스 - 상하 종속적 관계, 이로 인해 변화에 유연하게 대응 불가ex) IMS, System2000
- 네트워크 데이터베이스 - ex) IDS, IDMS
- DBMS 유형
- 키-값 DBMS : Get, Put, Delete 제공
- 컬럼 기반 데이터 저장 DBMS : 구글의 Bigtable 기반
- 문서저장 DBMS : XML, JSON 과 같이 구조화된 데이터 타입, 복잡한 계층 표현 가능
- 그래프 DBMS : 온톨로지, 시멘틱 웹 활용
- DBMS특징
- 데이터 무결성
- 데이터 일관성
- 데이터 회복성
- 데이터 보안성
- 데이터 효율성
- 빅데이터
- 수십 페타바이트 크기의 비정형 데이터
- 빅데이터 특징
- 데이터의 양, 다양성, 속도
- 빅데이터 수집, 저장, 처리 기술
- 비정형/반정형 수집 : ex) chuckwa, flume, scribe
- 정형 데이터 수집 : ex) ETL, FTP, 스쿱, 하이호
- 분산데이터 저장/처리 : ex) HDFS(데이터 집합처리), 맵리듀스(구글에서 데이터처리를 위해 개발)
- 분산데이터베이스 : HBase
- NoSql
- 스키마 필요x
- 조인 연산 불가
- 수평적 확장
- Nosql 특징
- Basically available : 언제든지 접근 가능 (가용성 중시)
- Soft-State : 노드의 상태는 외부의 정보를 통해 결정, 특정 시점 일관성 보장 x
- Eventually Consistency : 데이터 일관성 유지
- 데이터마이닝
- 통계적 규칙이나 패턴을 찾아냄
- 데이터마이닝 주요 기법
- 분류 규칙 : 과거 데이터로부터 특성을 찾아 분류모형을 만듬
- 연관 규칙 : 데이터안에 항목들간의 종속관계를 찾음
- 연속 규칙 : 시간 관련 규칙 + 연관 규칙
- 데이터 군집화 : 소그룹 분할